package org.example.day05;

import java.util.Scanner;

/**
 * @author zlxad
 * @version 1.0
 * @description: TODO+
 * 1.老李是货运公司承运人，老李的货车<span>额定</span>载货重量为wt<br> 2.现有两种货物，货物A单件重量为wa，单件运费利润为pa，货物B单件重量为wb，单件运费利润为pb<br> 3.老李每次发车时载货总重量刚好为货车额定载货重量wt，车上必须同时有货物A和货物B，货物A、B不可切割<br> 4.老李单车次满载运输可获得的最高利润是多少<br>
 *
 * 1.老李是货运公司承运人，老李的货车额定载货重量为wt
 * 2.现有两种货物，货物A单件重量为wa，单件运费利润为pa，货物B单件重量为wb，单件运费利润为pb
 * 3.老李每次发车时载货总重量刚好为货车额定载货重量wt，车上必须同时有货物A和货物B，货物A、B不可切割
 * 4.老李单车次满载运输可获得的最高利润是多少
 * @date 2024/3/11 15:22
 */
public class test085 {
    public static int calculateMaxProfit(int wa, int wb, int wt, int pa, int pb) {
        int maxProfit = 0;

        // 考虑所有可能的装载方式，对货物A的数量进行遍历
        for (int aCount = 1; aCount <= wt / wa; aCount++) {
            // 如果剩余重量可以被wb整除，则可以装载B货物
            if ((wt - aCount * wa) % wb == 0) {
                int bCount = (wt - aCount * wa) / wb;  // 计算B货物的数量
                if (bCount > 0) {  // 确保B货物数量大于0
                    int profit = aCount * pa + bCount * pb;  // 计算当前装载方案的利润
                    maxProfit = Math.max(maxProfit, profit);  // 更新最大利润
                }
            }
        }

        return maxProfit;  // 返回最大利润
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int wa = scanner.nextInt();  // 输入货物A的重量
        int wb = scanner.nextInt();  // 输入货物B的重量
        int wt = scanner.nextInt();  // 输入总重量上限
        int pa = scanner.nextInt();  // 输入货物A的利润
        int pb = scanner.nextInt();  // 输入货物B的利润
        scanner.close();

        System.out.println(calculateMaxProfit(wa, wb, wt, pa, pb));  // 输出最大利润
    }
}

